Digital home networks having a control point located on a wide area network

ABSTRACT

A method of controlling and delivering media content from a media server (MS) to a media renderer (MR) utilizing a wide area IMS network for control. The method involves: provisioning a serving node in the IMS network with control point (CP) logic that includes logic to negotiate media content delivery with a least one of an MS and an MR; provisioning a user endpoint (UE) device of the IMS network with control point proxy (CPP) logic that includes logic to negotiate media content delivery and VCR controls to control media presentation; in response to a media content delivery request, invoking the CPP logic and the CP logic to cooperatively negotiate media content delivery between an MS and an MR that uses local wireless or land line connections when possible in order to minimize wide area bandwidth usage.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a reissue of U.S. patent application Ser. No.11/370,793, filed on Mar. 8, 2006, now U.S. Pat. No. 7,724,753, grantedMay 25, 2010, which is a continuation-in-part of and claims priorityunder 35 U.S.C. §120 to the following applications, the contents ofwhich are incorporated herein by reference in their entirety:

-   -   U.S. patent application Ser. No. 11/166,407, filed on Jun. 24,        2005, entitled Method and System For Provisioning IMS Networks        With Virtual Service Organizations Having Distinct Service        Logic, now U.S. Pat. No. 7,792,528;    -   U.S. patent application Ser. No. 11/282,924, filed Nov. 18,        2005, entitled IMS Networks with AVS Sessions with Multiple        Access Networks, abandoned.

This application is related to U.S. patent application Ser. No.11/370,594, filed Mar. 8, 2006, entitled “Associated Device Discovery inIMS Networks” filed on even date herewith , abandoned.

BACKGROUND

1. Field of the Invention

The invention generally relates to IP Multimedia Subsystem (IMS)networks and, more specifically, to IMS users that use (perhapsmultiple) discovered user endpoint devices.

2. Discussion of Related Art

Commonly deployed wireless communication networks, usually referred toas 2.5G networks, support both voice and data services. Typically,mobile handsets are connected to a Base Transceiver Station (BTS) usinga Radio Access Network (RAN) that uses a modulation scheme such as CDMA(Code Division Multiple Access) or GSM (Global System for Mobilecommunications). The BTSs are connected via fixed links to one or moreBase Station Controllers (BSCs), and the BSCs are aggregated intoswitches called Mobile Switching Centers (MSCs). The MSC is connected tothe Public Land Mobile Network/Public Switched Telephone Network(PLMN/PSTN), typically through a gateway switch called the GatewayMobile Switching Center (GMSC). Sometimes the term “core network” isused to collectively describe the MSC, GMSC and associated networkelements. Voice traffic uses the so called circuit-switched paradigm ofcommunications in which circuits are assigned, i.e., dedicated, to acall for its entire duration; the voice traffic is carried using TimeDivision Multiplexing (TDM) switching technology. Signaling traffic usesSignaling System 7 (SS7) typically as out of band circuits.

With the advent of Internet Protocol (IP) networking, IP data service isoffered to wireless clients by an overlay data network in which a packetcontrol function (PCF) is introduced at the BSC level to connect BSCs toan IP-routed network. The PCF is responsible for packetization of RANtraffic. On the inbound side (core network to RAN) the PCF takes IPpackets and reorganizes them for transmission as frames over the radiotransport protocol. On the outbound side (RAN to core network) the PCFpacketizes radio protocol frames to IP packets. Data connections arehandled by this overlay network and the MSC is used primarily to handlecircuit-switched voice calls.

The development of Voice over IP (VoIP) technology has resulted in theMSC being re-designed to handle packet-switched voice traffic along withexisting circuit-switched traffic. This new architecture is called asoft switch network. The legacy switch is disaggregated into a controland multiplicity of media gateway (MGW) components. The controlcomponent (sometimes called the soft switch) uses an open controlprotocol called the Media Gateway Control Protocol (MGCP) to manage theMGW. The MGW itself has the ability to accept both packet andcircuit-switched traffic and convert one to the other, under the controlof the soft switch. It is thus possible in 2.5G networks to carry bothcircuit-switched and packet-switched traffic.

It is widely believed that wireless communications will soon bedominated by multimedia services. This has resulted in new RANtechnologies and the resulting networks are called 3G networks. Thetransition of 2.5G to 3G networks emphasizes packet traffic and newarchitectures have been proposed to handle multimedia sessions, such asQuality of Service (QoS).

A defining characteristic of 2.5G/3G multimedia services is that sincethe handset can send or receive IP data packets at any time, the IPcontext of the handset is maintained as long as the handset is poweredon and connected to the network. This is in contrast to traditionaltelephony where the state of a connection is maintained only while atelephone call is in progress.

In particular, in 3G networks the services are to be provided byso-called Application Servers. Consequently the connection between theservice logic and the application server is a “stateful” connection thatneeds to be maintained for the duration of the service being used. Hencea very large number of stateful connections need to be maintainedbetween the application server complex, hosted in the applicationdomain, and the service logic complex hosted in the service logicdomain, in a network servicing a large number of subscribers. Suchstateful connections that cross administrative domains have highnetworking costs and are difficult to maintain operationally.

Typical of proposals for 3G network architecture is the IP MultimediaSubsystem (IMS) architecture, shown in FIG. 1. IMS is independent of thetype of access network; that is, it applies both to wireless andlandline networks. Examples of access networks include various flavorsof Wi-Fi networks, GPRS, and HSDPA networks. IMS uses Session InitiationProtocol (SIP) for control and signaling messages. SIP is an IP-basedsignaling protocol designed for multimedia communications. The IMSarchitecture introduces several control functions, i.e., functionalentities, to manage the network. The legacy circuit-switched traffic ishandled by an Inter-working Function called the BGCF (Breakout gatewaycontrol function). The MGW is controlled by a new function called theMedia Gateway Control Function (MGCF), and the media processingfunctions are performed by the Media Resource Function Processor (MRFP),which is controlled by the Media Resource Control Function (MRCF).

The basic call server called the Call State Control Function (CSCF) islogically partitioned into three functional entities, the Proxy,Interrogating and Serving CSCF.

The Proxy Call State Control Function (P-CSCF) is the first contactpoint for the handset, also referred to herein as the User Entity (UE,)within IMS and provides the following functions:

-   -   1. Forward SIP register request received from the UE    -   2. Forward SIP messages received from the UE to the SIP server    -   3. Forward the SIP request or response to the UE    -   4. Detect and handle an emergency session establishment request    -   5. Generate Call Detail Records (CDRs)    -   6. Maintain Security Association between itself and each UE    -   7. Perform SIP message compression/decompression    -   8. Authorize bearer resources and QoS management

The Interrogating CSCF (I-CSCF) is mainly the contact point within anoperator's network for all IMS connections destined to a subscriber ofthat network operator, or a roaming subscriber currently located withinthat network operator's service area. It provides the followingfunctions:

-   -   1. Assign a S-CSCF to a user performing SIP registration    -   2. Route a SIP request received from another network towards the        S-CSCF    -   3. Obtain from Home Subscriber Server (HSS) the Address of the        S-CSCF    -   4. Forward the SIP request or response to the S-CSCF as        determined above    -   5. Generate Call Detail Records

The Serving CSCF (S-CSCF) actually handles the session states in thenetwork and provides the following functions:

-   -   1. Behave as SIP Registrar: accept registration requests and        make its information available through the location server    -   2. Session control for the registered endpoints' sessions    -   3. Behave as a SIP Proxy Server: accept requests and service        them internally or forward them on    -   4. Behave as a SIP User Agent: terminate and independently        generate SIP transactions    -   5. Interact with application servers for the support of Services        via the IMS Service Control (ISC) interface    -   6. Provide endpoints with service event related information    -   7. Forward SIP message to the correct CSCF    -   8. Forward the SIP request or response to a BGCF for call        routing to the PSTN or CS Domain    -   9. Generate Call Detail Records

The P-CSCF is the first point of contact for a UE (handset) in an IMSnetwork. The I-CSCF then helps in establishing which S-CSCF “owns” theUE.

FIG. 2 is a signaling diagram, showing the call flow for a UE when itfirst establishes contact with an IMS network. The UE sends a “register”request to the proxy (201, 202). Assuming the proxy determines that theUE is registering from a visiting domain, it queries the DNS to find theI-CSCF in the UE's home domain (203). The proxy then sends theregistration information to the I-CSCF (204). The HSS checks if the useris already registered and sends the address of the S-CSCF in response(205, 206). An authentication process now ensues in which the UE ischallenged to provide valid authentication vectors (207-211). Once theauthentication procedure is completed (212-218), the S-CSCF informs theHSS that the UE is registered (219-225).

The HSS provides initial filter codes (IFCs) to the S-CSCF. The IFC, ineffect, maps the service codes with various application servers (ASs).Thus, if the UE later issues a service request or if the service isotherwise triggered the mapped AS will be invoked. The IFC iseffectively the “call model” for the UE. These call models are staticobjects downloaded during registration from the HSS. Every UE in thedomain of the S-CSCF will, if they have the services enabled at all,have the same application servers (ASs) mapped to the same services. Forexample, push-to-talk service for each and every UE having such servicewill point to the same AS or point to an AS with identical service logicto provide the identical push-to-talk functionality.

Registered UEs may use services by initiating a new sessionestablishment procedure depicted in FIG. 3. The Figure shows a sessionestablishment request originating with a S-CSCF (called O-SCSCF) orI-CSCF (called O-ICSCF). This request is routed to the “terminating”S-CSCF (T-SCSCF), which consults the callee's service profile (301).Based on the service profile of the originating registered user, theT-SCSCF sends an IMS service control request (ISC) to the correspondingapplication server (T-AS) that can handle this service request (302).The T-AS provides the service to the callee and terminates the session(303) and the S-CSCF terminates the application activation process(304).

As an illustrative example, consider the case of voice mail in whichcallers to a certain user may leave a voice message if the called userdoes not respond to the call. This voice mail service is provided by anapplication server (AS) dedicated to this service and having servicelogic to provide such functionality. The S-CSCF transfers control to thevoice mail application server when a certain service point trigger (SPT)occurs, i.e., an event occurs that causes a trigger within the SPT to“fire.” The IFCs that provide trigger points to the service logic of theS-CSCF are downloaded into the S-CSCF during user registration atsession initiation time and remain fixed for the duration of thesession. The service profile described above that is consulted by theT-SCSCF is a static object in the sense that the information containedin it is defined once at the time of service inception.

The coverage area of a service provider is typically partitioned intogeographical regions called cells. Each cell is served by a BTS, i.e.,the BTS radiates energy within a cell. Allocating frequencies to cellsin a judicious manner allows re-use of frequencies and, hence, to moreefficient use of the operator's spectrum allocation. As a mobile handsetroams across cell boundaries, its reception of the signal being radiatedby the BTS varies. A crucial component of wireless communicationnetworks is the ability to hand off a moving handset from one BTS to aneighboring BTS. Various handoff algorithms are known in the literature.Broadly speaking, all handoff technologies fall into one of two types:hard handoff, and soft handoff.

In hard handoffs the connection between the current BTS and the handsetis severed and a new connection is established between a new BTS and thehandset while a telephone call is ongoing. The decision to sever the oldconnection and start a new connection is based on a pre-determinedthreshold value of the received signal. In soft handoff technologies thesignal strength from two (or more) BTS are compared and the one that hasthe higher value is selected. The main advantage that handoffs provideis that ongoing calls remain connected as the handset roams in thecoverage area. Since the region in which a BTS radiates is limited, ahandset that roams out of the range of a BTS will lose connection withthe BTS and hence any ongoing call will be dropped. Handoffs ensure thatthe handset remains connected to some BTS and any ongoing calls do notget dropped.

As the bandwidth provided by wireless networks increases, it is nowpossible to send and receive multimedia information to handsets. Thus,handsets are no longer used only to make and receive telephone calls.Rather handsets are envisioned to send and receive multimediainformation such as video clips, audio files, etc. Handsets have becomegeneral purpose computing and communication devices. Wireless networksare now expected to provide broadcast content, video telephony,multimedia conferencing, video streaming services, file upload anddownload services, and interactive multimedia services.

However, the availability of network coverage supporting multimediaservices is highly uneven. In some areas several networks may beavailable simultaneously that could be used by a handset, whereas inother regions there may be insufficient coverage to support a givennetwork service. For example, at a given location one may have severalshort-range Wi-Fi or WiMax networks, or 1xRTT EVDO, that could providemultimedia services to a handset (assuming that the handset is capableof supporting multiple modulation schemes).

A handset, however, has an inherent disadvantage since its form factoris generally not suitable for long term use as a display device. Thesmall size of the handset display screen is not amenable to longduration sessions or sessions in which the handset is jointly viewed byseveral users. In such cases it would be desirable to view themultimedia services on a larger LCD or a TV display device. Many suchdevices support LAN connections directly or indirectly via commerciallyavailable media plugs. Moreover, such devices may also support shortrange wireless networks such as Wi-Fi and WiMax.

The wireless world is increasingly becoming a world of multiplenetworks. Some are short range and others support longer ranges ofcoverage. The information-carrying capacity of these networks varieswidely from network to network. Handsets increasingly support multiplewireless connections, including both short range networks such asBluetooth and Wi-Fi, and long range cellular networks.

SUMMARY

The invention provides systems and methods for implementing digital homenetworks having a control point located on a wide area network. Thecontrol point may be implemented on a serving node connected to the widearea network, and have the capability of working in conjunction with oneor more control point proxies that are located in handsets connected toa 3G wireless network, or in remote control units located within thehome. The control point and control point proxies cooperativelynegotiate media delivery from a user-selected media server, such as ahome stereo or DVD player, to a user-selected media renderer, such as aTV display or the display on a handset. The control point proxies alsoinclude VCR controls for controlling the presentation of the selectedmedia delivery.

In general, in one aspect, the invention features a method ofcontrolling and delivering media content from a media server (MS) to amedia renderer (MR) utilizing a wide area IMS network for control. Themethod involves: provisioning a serving node in the IMS network withcontrol point (CP) logic that includes logic to negotiate media contentdelivery with at least one of an MS and an MR; provisioning a userendpoint (UE) device of the IMS network with control point proxy (CPP)logic that includes (i) logic to negotiate media content delivery withat least one of an MS and an MR, (ii) logic to cooperate with CP logicto negotiate media content delivery between an MS and an MR, and (iii)VCR controls to control a presentation of content provided by the MS andrendered by the MR; in response to a media content delivery request,determining a network context of the UE and a network connectivity ofthe MS and MR; invoking the CPP logic and the CP logic to cooperativelynegotiate media content delivery between an MS and an MR if one of theMS and MR are not in communication with the UE via a local wirelessnetwork; and once media content delivery is negotiated, controlling apresentation of delivery via the VCR controls on the UE.

Other aspects include one or more of the following features. The CPPlogic is invoked to negotiate media content delivery between an MS andan MR if the MS and MR are both in communication with the UE via a localwireless network. The local wireless network is a Wi-Fi network, a WiMaxnetwork, or a Bluetooth network. The CP logic is invoked to negotiatemedia content delivery between an MS and an MR if neither the MS nor theMR are in communication the UE via the local wireless network. The UEmay be implemented on a handset, and the handset may include a displaythat is used as the media rendering device. At least one of the MS andthe MR is on a 3G network and in communication with the serving node.The UE is in communication with the MR or with both the MS and the MRvia a local wireless network. The CP logic negotiates service deliveryfrom the MS, the MS being on a 3G network, the CPP logic in the UEnegotiates delivery on the MR, and the CP logic and CPP logic executesynchronization logic to complete the negotiation of delivery from theMS to the MR. The UE communicates its network context to the servingnode and the serving node informs the UE of the serving node'scapabilities for negotiation with devices local to the UE. The CP logicis configured to serve multiple unrelated devices running CPP logic;these devices can be handsets and remote control units. The principalCPP can depend on the location of the user; for example, the user mayuse the CPP logic in the handset when the user is remote from the MR anduse the CPP logic in a remote control unit when the user is local to theMR. If one of the MS and MR are remote from the UE, the CPP logicprovides information about invoked VCR controls to the CP logic on theserving node to allow the CP logic to control the remote MS or MR. TheMS and the MR may both be a part of a digital home network. The UE maydiscover local devices that can act as an MS or an MR by using UniversalPlug and Play (UPnP) protocols. The MS and/or MR may announce theirpresence to the UE using at least one of UPnP protocols, Jinitechnology, RFID, and Bluetooth. When the CP/CPP is negotiating deliveryof media content, it may negotiate of out-of-band media transfer betweenthe MS and the MR.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 depicts a prior art IMS network.

FIGS. 2 and 3 are signal diagrams for a prior art IMS network.

FIG. 4 is a block diagram showing the principal elements of thedescribed method.

FIG. 5 depicts logic for providing per user (or group) call models.

FIG. 6 depicts internal architecture of a certain embodiment of theinvention.

FIG. 7 depicts logic for providing dynamic call models.

FIG. 8 is a simplified network diagram to illustrate the interactionbetween a UE, a CSCF and an application server.

FIG. 9 is a simplified network diagram to illustrate the interactionbetween a UE, a CSCF, a dynamic network topology database (or MEdatabase) and policy database.

FIG. 10 depicts utilization of multiple access networks in a sessionhaving an AVS structure.

FIG. 11 depicts out-of-band mediation by a control point to use apotentially non-IMS service in an IMS context.

FIG. 12 depicts out-of-band mediation by a control point and a controlpoint proxy to use a potentially non-IMS service in an IMS context.

FIG. 13 is a flowchart illustrating how devices and services arediscovered and associated by the UE.

FIG. 14 is call flow diagram depicting the discovery of a device by aUE.

FIG. 15 is a call flow diagram depicting the discovery of a device by aUE and subsequent handoff to the device.

FIG. 16 is a call flow diagram depicting the discovery of a device by aUE and the establishment of a relay session to stream content to thedevice.

FIG. 17 is a call flow diagram depicting discovery of a device by a UEand subsequent streaming of trans-coded information to the device.

DETAILED DESCRIPTION

Preferred embodiments of the invention permit IMS user sessions toutilize devices that are discovered by the UE during the course of anIMS session. The embodiments provide for the discovery of availabledevices, and for choosing whether to add a discovered device to the IMSsession. The choice can be made to depend on physical and/or technicalfactors, such as whether the IMS session involves the use of contentthat could benefit from the incorporation of the associated device intothe IMS session. For example, if the user is receiving video, and alarge-screen TV set is discovered, it would be beneficial for the userto view the video on the large screen of the discovered TV set ratherthan on the small screen of a handset. In addition, the decision toinclude the discovered device can be made to depend on a set of policiesthat involve business relationships (such as of the user toowner/operator of the available devices) and cost. The describedembodiments allow the signaling channel to remain intact (i.e., it isnot generally handed over to an associated device) allowing for aconsistent service experience (i.e., the application logic can remain inthe domain of the original service provider).

FIG. 4 depicts relevant portions of an IMS network according topreferred embodiments of the invention. The relevant portions include UE402, P-CSCF 404, I-CSCF 406, serving node 408, HSS 422, and call modeldatabase 416.

The UE, P-CSCF 404, I-CSCF 406, and HSS are essentially conventional,though the content of HSS 422 is not, as described below. However, incertain embodiments, the UE may have unconventional agent logic, namelyPA logic 424, and search module 426, each of which is discussed in moredetail below. All of these entities communicate using known and definedprotocols.

Serving node 408, in preferred embodiments, includes S-CSCF logic 410that is largely conventional though it includes certain modifications,discussed below. Serving node 408 also includes ME server logic 412(more below) to store users' dynamic network topologies and otherinformation, and provisioning logic 414 more below. (Alternatively, theME server logic and the provisioning logic may each be a separatephysical entity like an AS.) The ME server and provisioning logicessentially are co-located special purpose servers within node 408. Theserving node 408, and particularly provisioning logic 414, communicateswith a call model database 416. This database 416 (not the HSS as is theconventional case) is used to provide the call model information for agiven user (more below).

Though not shown in FIG. 4, serving node 408 communicates withapplication servers (ASs) that include service logic for variousservices, e.g., voice mail, push-to-talk, etc. The UEs use predefinedcodes within service requests to identify the service of interest and/orthese services can be triggered in known specified ways via SPTs (as isthe conventional case).

FIG. 5 depicts the logic flow for provisioning a S-CSCF with distinctcall models for each user. Under preferred embodiments, the HSS providesinitial filter codes (IFC) during UE registration (as is theconventional case). However, under certain embodiments of the invention,this IFC is programmed in an unusual way. All the service point triggers(SPTs) for each service are mapped to provisioning logic 414 (i.e., notto ASs corresponding to the actual service codes as is the conventionalcase.)

The logic flow starts in 500 and proceeds to 502 in which the firstservice request is received after registration. Because of the defaultIFC, this service request will not trigger an AS corresponding to thatservice, and instead will trigger activation 504 of the provisioninglogic 414. The provisioning logic 414 will then access 506 the callmodel database 416. One of the input parameters will identify the user.The call model database 416 will retrieve a call model for thatparticular user. This call model will include the AS identifiers for thevarious services for that user. The database 416 will provide 508 thecall model information to the provisioning logic 414 which in turn willprovide it to the S-CSCF logic 410 within serving node 408. The S-CSCF410 will construct a new set of filter codes, i.e., NFC, and thus a newcall model, for that user (and will trigger the service requestedinitially using the NFC). The NFC will have SPTs identifying thecorresponding ASs. This approach allows for dynamic construction of theNFCs (e.g., post registration) and allows the call model (e.g., NFC withassociated SPTs) to be constructed uniquely for each user.

The above logic allows each user to have a call model and NFC that candiffer from all other call models served by that S-CSCF. Thisfunctionality may be used in many ways. Per-user differentiated callmodels is useful though not strictly necessary to practice preferredembodiments of the invention.

This form of per user call model customization, in which different usersmay invoke different service logic functionality for the same givenservice request, is not provided in a conventional IMS network. Inconventional IMS arrangements, the HSS provides static call models at UEregistration. Each user gets the same ASs within their IFC and thus thesame service experience (for services they are authorized to use).Moreover, the above approach allows for full portability of call models.No matter where a UE exists in the IMS network, that UE's call model maybe constructed and used for that UE's service experience.

FIG. 6 depicts serving node 408 once multiple users have registered andbeen provisioned with their corresponding call models 602a . . . n.Note, the different call models can point to different ASs for a givenservice, and they are not merely multiple instances of the same IFC/callmodel. Multimedia network manager 606 receives service requests 608 fromthe IMS network and provides service responses 610 to the IMS network.It also routes received requests to the appropriate internal entities asshown. ME server logic and Network Map policy manager 412 areresponsible for receiving information (more below) indicating that theuser's UE environment has changed with new capabilities or devices, andfor building information structures and models to reflect thesecapabilities. In certain embodiments it also includes logic to implementspecified policies on whether and how to utilize such capabilities.Provisioned Service logic 414 is responsible for interacting withexternal or internal databases (e.g., database 416 of FIG. 4). Mediaresource manager 612 is responsible for managing other resources (e.g.,transcoders) that may be involved with a given service. Multimediaservice manager 604 is responsible for receiving requests from networkmanager 606 and for interacting with the other components to constructand build the per-user call model 602. In simple cases this may involvecreating call models with the help of the provisioning logic 414 andcall model database 416. In other cases the call model construction willbe dynamic (more below) using new devices and capabilities (as well asassociated policies), and in these instances the manager 604 willinvolve ME logic 412, media resource manager 612 as well as handoffcontrol application server 614.

The term handoff as used herein denotes the transfer of a servicedelivery from one network and/or device to another network and/ordevice. The handoff does not involve the dropping of an access networkconnection. This meaning contrasts with the meaning of the term thatoften appears in the prior art (referred to in the background sectionabove), in which handoff means the dropping of a first connection infavor of a second connection based on the relative signal strengths ofthe two connections.

The context of an end user may change. For example, as a user roams, hisor her context may change. Alternatively, even in non-roamingsituations, the user context may change as new devices and capabilitiesemerge or become activated.

At any given moment, the user may be in close proximity to any number ofdevices that are capable of acting as a UE for a certain service(application). For example, the user may be near a TV that could be usedto display multimedia content. Or the user may be in close proximity toa personal computer that could be used to receive multimedia informationfrom a network connection, provided network connectivity andauthorization to use such a device in this manner could be obtained.

The described methods allow a roaming user to discover (directly orindirectly) several kinds of information and invoke several kinds ofcorresponding relevant policies to consider when and how to use suchcapabilities and devices:

-   -   1. New endpoint devices (UEs or UE devices) that could be used        to receive multimedia information;    -   2. New network connections that terminate and emanate from the        UE devices;    -   3. New device capabilities;    -   4. Policies that govern use of newly discovered devices and new        network connections; and    -   5. Policies that are implemented by the service provider that        control what devices could be used for which type of services        under what sort of conditions.

Policies may reside either in the UE or in a designated server in thenetwork. In a preferred embodiment, the policies reside in the network.

An increasing number of mobile handsets support short-range wirelesstechnologies such as Bluetooth and Wi-Fi. According to certainembodiments, a “dynamic profile” is constructed, in part, by logic thatexecutes in the handset. This logic may be executed continuously,periodically at some network determined time interval, or on demand whenthe user requests a particular service. When executed, the logic senses(or otherwise discovers) the presence of associated devices in theimmediate vicinity of the handset using a short-range wirelesstechnology such as Wi-Fi.

Home and personal networking systems increasingly feature the ability todiscover new devices using so-called discovery protocols. One suchexample is the Universal Plug and Play (UPnP) protocol that allows thedynamic discovery of devices. According to certain embodiments, dynamicdevice discovery and service discovery framework within a user'spersonal or home area network is performed. For example, UPnP may beused to create a dynamic profile of the immediate environment of thehandset (i.e., user) service environment. The dynamic device discoverymechanism is used to help create a personalized user area network map,which will serve as input to the switching/delivery logic.

Associated devices may announce their presence by a variety of meanssuch as but not limited to Universal Plug and Play Devices (UPnP), Jinidiscoverable devices, RFID devices, and Bluetooth enabled devices.

Any method of broadcasting the capability of devices can be used. Thesensing logic in the handset receives such broadcast information andassembles it to construct a dynamic profile of the user's immediatecontext. Since this context changes as the user roams, the dynamicprofile changes to reflect the current vicinity of the handset. Thedynamic profile is communicated to the serving node 408. For example,this information may be communicated as parameters (e.g., by overloadinginformation elements [IEs] of Session Description Protocol (SDP)messages) in conjunction with a special service request dedicated tocommunicating potential UE devices.

A personal agent (PA) having PA logic 424 executes in UE (handset) 402and includes the sensing logic to discover such other potential UEs orassociated devices (more below). The dynamic profile of the user'simmediate environment is communicated to the ME logic 412. This is doneby having the ME server invoked in response to the special servicerequest from the UE for communicating such discovered devices andcapabilities. The ME service will construct topologies and maps toidentify the potential UEs, other networks, etc., to reflect the newdevices and capabilities discovered or sensed in the UE's vicinity thatcould potentially be used by a given user.

In certain embodiments, the handset's User Agent profile (UAProf) orComposite Capabilities/Preference Profiles (CC/PP) representing devicecapabilities and user preferences is used to personalize the multimediaservice delivery framework. Serving node 408 will gather the UAProf orCC/PP from the endpoint devices to guide control of not only therendering and trans-coding of content to be delivered to that device,but also the generation of the call agent as well as the decision toexecute that service agent within the network or at the endpoint.

The personal agent supports an automated network and service discoverymechanism, such as the industry standard Universal Plug and Play (UpnP)framework, to establish association with and control of those networkeddevices. The networked devices that the PA can be associated withthrough the discovery procedure can be connected to the mobile handsetvia wireless connectivity, such as Bluetooth, Jini, self-identifyinglabel technologies such as RFID, or Wi-Fi, or via wired connectivity,such as USB or IEEE 1394 links.

In certain embodiments, the static user profile downloaded by the HSSinto the S-CSCF at registration time is provisioned by the networkoperator to contain the address of the ME server. Thus, everycommunication of the dynamic profile originating from the UE andreceived by the S-CSCF causes a SPT trigger to fire, and control istransferred to the corresponding ME server. In this fashion the servingnode 408 and more particularly the ME server 412 becomes aware of theimmediate context of the UE (handset).

Once the ME server has the information in the dynamic profile, itconsults a database of policies described by the service operator. Thesepolicy descriptions may be co-located with the ME logic and even theS-CSCF logic (see, e.g., FIG. 6). These policies prescribe certainactions that depend on the data contained in the dynamic profile. Forexample, a policy can require that if the UE sensing logic discovers aWi-Fi connection in its immediate vicinity, then this discovered networkshould be used for originating session requests. Specific logicassociated with this policy is then executed to send directions to thePA to enforce this directive at the UE level. When evoked, the policydecision only changes the behavior of those UEs that come under thecontrol of a particular Mobile Virtual Network Operator (MVNO) (A MVNOis an operator that use the radio spectrum license-holder's underlyingnetwork facilities to offer services to the consumer. MVNOs do nottypically own network infrastructure or spectrum license). Another MVNOmay, in general, have a completely different set of policies. Policiesmay not only be specified by the MVNO but also by end users, providedthe network interfaces allow the users to specify actions that should betaken when certain events and situations are discovered in the UE'senvironment. Such user specified policies may over-ride policiesspecified by the MVNO.

FIG. 7 is a flow diagram illustrating the customization of servicelogic. The logic starts in step 700 and proceeds to step 702 in whichthe PA logic 424 on the UE discovers or senses its immediate environmentor context and constructs a message specifying this dynamic context.This message may include information about, new devices that could beused to receive multimedia information, new network connections thatterminate and emanate from such devices, and new device capabilities.The PA on the UE sends the message to S-CSCF (704) and the messageeither causes an SPT trigger or it does not, depending on how the IFC orNFC is constructed (706). If the message is triggering event, the logicproceeds to step 708 in which control is transferred to the ME server;otherwise the logic terminates (799). The ME server updates its internaldatabase to reflect the information communicated in the message from thePA in the UE (710). The ME server then applies any relevant policiesthat will determine, for example, whether and how to utilize newlydiscovered devices and capabilities (712), and the logic determineswhether any action is specified by the policy (714). If so, thespecified action is initiated (716). This can be done by customizing thePA logic 424 on the UE or by customizing the AS logic. For example, in atypical embodiment, S-CSCF logic 410 will be modified to initiate ortrigger the specified actions after the ME logic has updated its modelsaccordingly and perhaps after a new dynamic call model is instructed forthat particular user to reflect new devices and capabilities.

In an alternative embodiment S-CSCF logic 410 is not hosted within aserving node 408 as shown in FIG. 4; that is, the S-CSCF 410 is notconstrained to be hosted by the MVNO domain. In this embodiment theS-CSCF remains hosted in the IMS serving domain of the network operatorand is a separate entity, as in a conventional IMS network, and the MEserver and provisioning logic are configured as ASs, though, asexplained above, they do not provide conventional IMS services andinstead are used in the construction of dynamic call models.

The interactions between the CSCF and an AS are summarized in FIG. 8. Asoutlined above, in IMS networks, all services are provided byapplication servers (ASs). In FIG. 8, the network is simplified (fordescriptive purposes) to show only one AS 802, but in practice therewill be multiple ASs. Service requests are sent (directly or indirectly)from a UE 402 (see also FIG. 4) to a S-CSCF 410 (see also FIG. 4). TheS-CSCF uses its internal call model (see, e.g., 602 of FIG. 6) to invokea corresponding application server.

In preferred embodiments, the call-model 602 (FIG. 6) (i.e., statemachine) executing in the S-CSCF 410 for this UE is modified to takeinto consideration the newly discovered devices and network connectionsas described herein. This newly discovered information is stored in theME server 412. The discovery is done by sensing logic resident in the UEand may be communicated to the ME server periodically, or whendiscovered, or at pre-designated intervals. As discussed above, thiscommunication may be done, for example, by overloading the informationelements of the SDP. The interaction between the ME server 412 and theCSCF 410 is shown in FIG. 9. As described above, the CSCF 410 is invokedwith messages (or overloaded messages) that include information aboutdiscovered devices, network connections, new capabilities, etc. The CSCF410 then invokes the ME server 412 which in turn consults the policydatabase 902.

In one scenario, a subscriber wanting to view multimedia content from anInternet server on his handset initiates an IMS request to serving node408. The request emanates from the UE to the P-CSCF and onwards to theS-CSCF as explained above in connection with FIG. 1. From the S-CSCF itis routed to the ME (acting as an Application server) so as to performper subscriber customization, as explained in connection with FIG. 4.This request then causes a connection to be made to the serving node 408(explained in more detail later) and an IMS session is establishedbetween serving node 408 and the UE using the access network to whichthe P-CSCF is attached. This IMS session is uniquely identified by anIMS Charging ID (ICID) assigned by the P-CSCF.

As shown in FIG. 10, PPP (Point to Point Protocol) session 1002 has itsown unique identifier called the Transport Charging ID (TCID) 1006assigned by the device (Packet data Gateway or Packet Control Functionin the BSC) from which the PPP session emanates. TCID 1006 and ICID 1008together uniquely identify the multimedia session in which the SIP/IMSsignaling is embedded within the IP/PPP connection.

The ME function 412 creates or modifies a computational entity called anAVS (Audio Video Session) 1004 to model and control (in part) the actualaccess network connections for a given user. The call model 602a,discussed previously, is constructed first, based on the resources andpolicies. The AVS, on the other hand, represents what is actually goingon, or intended to take place, or actually takes place (i.e.,dynamically modifying to context). That is, the AVS represents theactual connections registered or to be registered in response to a givenservice request. If each access network connection is considered to be a“session”, then the AVS is a form of meta-session, or a super-sessionincorporating the access network sessions. Each AVS is uniquelyidentified by a AVID (Audio Video session ID) that is a function of theunderlying TCID and the ICID.

An AVS is a representation of every access network that the UEencounters while roaming. For each new access network thisrepresentation creates a new “leg” (called Incoming Call Leg-ICL 1012,1014). Each ICL has associated with it a TCID and an ICID (generated byother network elements) that together uniquely identify the sessioncorresponding to that access network. Since the AVS 1004 has access toregistration information of the UE, it knows that various ICLs (andhence various TCID+ICID combinations) really belong to the same UE, andhence, for each UE, the AVS representation captures all the accessnetworks that the handset encounters. And since some access networks maysupport circuit-switched (CS) transport mode whereas others may supportpacket-switched (PS) transport modes, ICLs may be CS or PS supportingICLs.

Network policies (see FIG. 9) will generally govern the co-existence ofICLs within a single AVS. For example, current telecomm networks do notsupport the idea of a UE being associated with more than onecircuit-switched network. This translates into an AVS constraint: “onlyone ICL may exist for CS sessions.” Another example of a constraint isprovided by current so-called Class B handsets in which both a CS and PSprotocol stack are available but only one such stack can execute at anytime. Yet another example is provided by Class B+Wi-Fi handsets in whicha CS session and a Wi-Fi session, or a Wi-Fi and a PS session cancoexist. In a Class A handset that supports CS, PS and Wi-Ficontemporaneously, all three sessions can be active together. Suchconstraints, emanating from the network or the handset, translate intoconstraints on the type and number of ICLs can be supported by an AVS.The policies can be contained in the policy database, and as with theconstruction of call models, the policies may be accessed when modifyingAVSs.

In one example, a class B UE is engaged in a PS session watching MobileTV. The UE roams into a Wi-Fi zone and a handoff happens, after whichthe MobileTV feed uses the Wi-Fi network. The previous PS session isidle and could be cleared. However, keeping it around serves a usefulpurpose. For example, suppose a voice call arrives for this UE. Sincethe CS stack is not executing in the UE, the call will normally berouted to voice mail without the user being informed of the call. Butsuppose a serving node 408 is informed of the arrival of this call (asexplained below), and then uses the PS session to present a dialog boxgiving the user a choice to take the voice call. This example shows theusefulness of having more than one session (more than one ICL) active.Policies governing a given service will dictate whether or not to keep aleg active. Moreover, sometimes a leg may be unavoidably dropped, forexample via lack of sufficient use, or because of signal issues.

As stated above, the serving node 408 includes one AVS per user. Asshown in FIG. 10, an AVS 1004 can include multiple ICLs 1012, 1014 andan OCL or OGL 1010 (outgoing call leg). The AVS also includes a controlpoint 1016. As explained below, the control point (CP) may be used toprovide mediation between some form of service or server and the UE. Notshown in FIG. 10 is that each leg may have effectuation routines toperform or effectuate routine functions on a given access network, suchas responding to “are you alive” messages. When the serving node 408(e.g., via the ME logic) manipulates the AVS it corresponds to actionsin the “real world.” For example, adding an ICL means getting registeredon that access network.

FIG. 11 illustrates how certain components, particularly the CP 1016interact with other entities. It also shows how to incorporate non-IMS(legacy) services into a network, or to “marry” multiple networks. Asexplained below, the CP 1016 within AVS 1004, can perform out of bandmediation so that a media server (MS) 1104 somewhere in the network candeliver content to a media renderer (MR) program 1106 on the UE, whichreceives and presents such content.

CP 1016 is connected to the MS 1102, which in turn establishes aconnection to the serving node 408 (using network server specificprotocols). The connection between the CP and the MS is internal to theME 412. The connection between the MS and the serving node 408 is anOutgoing Leg 1010 of the AVS. That is, AVS 1004 models this connectionas outgoing leg component 1010. CP 1016 is also connected to MR 1104,which preferable may reside in the UE. The connection between the CP andthe MR is an Incoming Leg, e.g., 1012. That is, AVS 1004 models thisconnection as incoming leg component 1012 or 1014. Thus, in a sessionhaving multiple MRs there are multiple Incoming Legs for a single AVS,as shown in FIG. 10.

Continuing with the example above, the CP negotiates multimedia contentdelivery with the MS and instructs the MS to deliver content to anaddress corresponding to the MR on the UE. The instructions providedduring such mediation will conform to the environment, context, andcapabilities of the UE. CP 1016 also negotiates media rendering with theMR itself in each Incoming Leg of the AVS. That is, the CP effectivelyinstructs the MR to start expecting content from the MS, and to presentsuch. Again, the instructions provided during such mediation willconform to the environment, context, and capabilities of the UE.

When an access network connection is discovered by the UE sensing logicand communicated to ME server 412, and if the policy database 902 (FIG.9) permits its use, the newly discovered access network connection ismodeled and included into the current AVS as an Incoming Leg. Eachaccess network available to a UE corresponds to an Incoming Leg of anAVS and the connection between the CP and MS corresponds to the OutgoingLeg of the AVS.

Thus, if the UE has sensed three different access networks and policyallows all three, then there are three distinct access networkconnections between the UE and the S-CSCF. In such a situation, thereare signaling and bearer channels in each access network that can beutilized. It is a matter of policy that decides which signaling channelwithin an access network is to be used and which channels within anaccess network is to be used for bearer traffic. In the case whencoverage of an access network is lost (for example, due to roaming ofthe UE), the corresponding access network connection and the associatedAVS Incoming Leg is “cleared” under S-CSCF serving logic control by theP-CSCF.

As mentioned above, many new kinds of access networks, such as Wi-Fi andWiMax, are being deployed. The proposed IMS specifications allow the UEto connect to an access network. Preferred embodiments of the presentinvention allow the UE to remain in simultaneous connection (orpotential use) with multiple access networks and the choice of whichaccess network to deliver a particular service to the UE is to be madeby policies resident in the ME function in the serving node of thenetwork. That is, the AVS facilitates control of multiple accessnetworks (both signaling and bearer) and allows choices to be made (bythe system and perhaps the user) as to which network to use in a givencontext and time.

In conjunction with deployments of various kinds of access networks,handset manufacturers are also producing handsets that support multipleradio access technologies. Examples of such handsets today are thosethat support Wi-Fi and GSM/CDMA cellular networks. In such handsets,known as Class A handsets, both the circuit-switched session of theGSM/CDMA network and the packet-switched session of Wi-Fi can co-existand be active simultaneously. Moreover, there are numerous proposals forvoice call handoffs between cellular (GSM/CDMA) and Wi-Fi networks.

Using the described embodiments, a Class A handset can have multiplepacket sessions and a circuit-switched session simultaneously active inthe handset. In the terminology explained above, the corresponding AVSmay have multiple Incoming Legs corresponding to one circuit-switchedand multiple packet-switched sessions. Another type of handset, called aClass B, handset only supports either a circuit-switched session or apacket session at any given time. If the handset roams into a Wi-Fi areafrom a cellular area, the circuit-switched session is replaced by a newpacket-switched session supported by the new Wi-Fi network in a Class Bhandset; in a Class A handset the circuit-switched session can beallowed to persist. This corresponds to removing one Incoming Leg of theAVS (representing the circuit-switched cellular connection) and addinganother Incoming Leg (representing the Wi-Fi connection) to theunderlying AVS for Class B handsets. In the case of Class A handsets inwhich the circuit-switched session is not cleared, the situationcorresponds to simply adding another Incoming Leg to the AVS session.

The following scenarios for Class A and B handsets are possible:

-   -   1. Two subscribers A and B are in a voice call. The AVS        corresponding to this call for A's UE may have an Incoming Leg        (circuit-switched) for A. The AVS for B's UE has an incoming leg        (“packet-switched”) for B. Thus, A is engaged in a        circuit-switched call and ‘B’ is engaged in a packet-switched        call; the two parties in the call are using different access        technologies. This example extends to multiparty calls.    -   2. Two subscribers A and B are in a voice call. Both users are        assumed to be using packet-switched sessions (i.e.,        packet-switched [PS] modulation over the cellular spectrum).        Under roaming conditions, at some point in this call, assume        that both roam into new access networks that offer the resources        (e.g., bandwidth) to support a video telephony sessions between        A and B. These new access networks will correspond to new        Incoming Legs added to the AVSs, along with new media renderers,        and the policy in ME will dictate the use of the new access        networks to support the video call. The new media renderers for        the video telephony will be OCLs for each of the AVSs—i.e., AVS        for A and an AVS for B.    -   3. Two subscribers A and B are in a voice call. Assume that A is        in a circuit-switched session and that B is in a packet-switched        session. Now assume that A roams into a new access network such        as Wi-Fi that supports video telephony. This new access network        corresponds to a new Incoming Leg of the underlying AVS for A.        The AVS under policy control may now be, as in use case number 2        above, converted into a video telephony session. An OCL may be        added to correspond to a new OCL for the MR for the delivery of        video telephony.    -   4. Two subscribers A and B are in a circuit-switched voice call.        A now wishes to send a multimedia message including images to        ‘B.’ Assume that both A and B had previously roamed into new        access networks that correspond to packet-switched sessions        (Incoming Legs) in the underlying AVS for each. These        packet-switched sessions can be used to deliver the multimedia        object from A to B.

Scenarios 1-4 show that by having access to multiple access networksunder mobility situations, the described embodiments allow services thatuse a combination of packet and circuit-switched access networktechnologies.

As explained above, mechanisms to utilize non-IMS, legacy serviceswithin an IMS context are provided. To do this, the system logicallyseparates the control and bearer parts of the legacy service. Thecontrol component of the service is handled by IMS, and the bearercomponent may remain independent of IMS. The control point (CP) 1016,referred to earlier, is the mechanism used to allow “out of band” mediatransport under control of IMS. Under preferred embodiments every AVS1004 has an associated CP 1016, for example, logically within the AVS.More specifically, each AVS is designated to have an “Outgoing Leg”(OCL) 1010 that contains a CP. The CP has capability to transact with anApplication Server (AS) using a standard protocol, such as RTSP, and ithas the capability to transact with programs in the UE called MediaRenders (MRs), again using standard protocols such as SIP, or SOAP/HTTP.The CP itself may be considered an Application Server (AS) by the S-CSCF(i.e., interacted with as if it were an AS).

Now consider a UE requesting Mobile TV service. This request emanatesfrom the UE (on an ICL) and is forwarded by the S-CSCF to the CP 1016acting as an AS (in standard IMS fashion). Since the CP acting as an AShas access to IMS charging and authentication mechanisms, the firstobjective of re-using IMS infrastructure for legacy services isfulfilled. Once the charging and various other bookkeeping functionshave been finished, the CP contacts the MobileTV server (e.g.,illustrated as Content Server 1018 in FIG. 10) using RTSP protocol.Alternatively, the CP could pass control to another Application Serverthat now contacts the MobileTV server using RTSP″, i.e., there is achain of Application Servers as in standard IMS. (Chaining ofapplication servers is a known technique). The CP instructs the MobileTVserver to initiate sending media to the UE (at a designed IP address)and instructs the MR in the UE to render the incoming media. (See FIG.11.) This media transfer from the MS to the MR may use an out-of-band(non IMS) transport such as RTP/UDP/IP. In some situations, otherapproaches to deliver media will be needed. For example, the MobileTVserver may not support the capability of receiving a service requestfrom client A and initiating service to a client at a different address.In this case the MobileTV server will be asked to send the media to theCP's address and it will be forwarded to the UE by the CP, a processcalled re-NATting).

The communication between the CP and the UE for setting up mediarendering and for other functions uses valuable spectrum. In order toreduce such spectrum-consuming communications, the relationship betweenan MR and a media server can be fixed a priori and pre-provisioned. Thusthe CP always picks a pre-designated MR for a particular media server.

In a preferred embodiment, wireless spectrum-consuming communicationsbetween the CP, media servers and media renderers are reduced byintroducing a CP Proxy (CPP) that resides in the UE. This architectureis illustrated in FIG. 12.

As indicated above, UPnP architecture includes three functionalentities: control point (CP), media server (MS), and media renderer(MR). These may be implemented in different physical devices. In adigital home environment, for example, the MS and MR typically reside ina TV set and the CP in a remote control unit.

It is assumed that the MS and MR entities represent abstractions thatcapture the essence of media servers and media renderers. Theabstractions allow programmers to write general-purpose software thatdeals with the properties of these entities without having to deal withtheir inner workings. The handling of these inner workings is left tothe implementation of the media server and the media rendererthemselves. Thus, by way of example, if a program desires to issue a“suspend” command to an MS, it may use the MS's defined interface toissue that command. It is left to the MS to implement the “suspend”command.

Communications between the CP and an MS and MR use the SOAP/HTTPprotocols. Direct communication between an MS and an MR is referred toas “out of band,” since is up to the MS and MR to select the protocol.One such protocol is RTSP/RTP.

In one example, the MS implements a video player, the MR implements anLCD display, and the CP implements a remote control unit. The CP queriesthe MS for a contents directory and presents that on the display unit,allowing content to be selected for rendering. The commands between theCP and MS, and between the CP and MR use SOAP/HTTP. The communicationbetween MS and MR could use RTSP/RTP.

In a wireless network in which the CP implements a handset, and the MSand MR implement a non-mobile media server and media renderer, thewireless network could be used to carry a control protocol between thethese three entities, akin to SOAP/HTTP (but perhaps a more secureversion). However, this approach suffers from the disadvantage that thecontrol messages between the CP and the MS, and the CP and the MR usethe limited capacity of the wireless network.

In certain embodiments, the UPnP architecture is extended into a widearea network environment. One approach, illustrated in FIG. 12, reducescontrol message traffic over the wireless network by moving CP 1016 intoa network element and running one or more CPPs 1202 in one or morehandset(s). This architecture has two advantages. First, thecommunication between CP 1016 and MS 1102 need no longer use thewireless network. Second, when CPP 1202 is in close proximity to MR1104, the handset (CPP) can use an available Personal Area Network(PAN), such as Wi-Fi, to communicate with the MR. Since the wide areawireless network uses expensive spectrum, these advantages can affordconsiderable cost savings.

In this architecture, the CP and the CPPs need a synchronizationprotocol. Communication between the CP and the CPP could be optimized byusing off-peak times to communicate and by making the CPP as independentof the CP as possible.

Moving the control point into the wide area network enables a user toconnect to services provided by MSs that are not located in the home,such as foreign television stations. In addition, MSs, whether in thehome or not, can now be rendered on MRs outside the home, such as on thehandset itself, or on an MR that is in proximity to the handset runningthe CPP when the handset is outside the home, as described above.

CP 1016 running in the SN can support multiple CPPs. For example, therecan be a CPP implemented in a handset, and also in a remote controlunit. When the user is inside the home, he may prefer to use the remotecontrol unit as the CPP since it may have a better form factor forVCR-type controls. On the other hand, when the user is outside the home,he invokes the CPP on the handset in order to maintain connection andcontrol with the home network.

The above techniques are illustrated by the following communicationsequence. A subscriber requests a media service to be rendered on a homeWi-Fi-enabled display device. CPP 1202 communicates with CP 1016 viainternal interface 1204 using the wide area wireless network. Subsequentcommunication between CP 1016 and MS 1102, or between CPP 1202 and MR1104 need not use the wireless network. Upon receiving confirmation fromCP 1016, CPP 1202 instructs MR 1104 to negotiate an out-of-band servicerequest with MS 1102.

In the case where the UE is in the proximity of both the desired MS andthe desired MR and can communicate with them via a PAN, such as Wi-Fi,the CPP in the UE negotiates the association between the MS and MR. Inthis case there is no need to involve the CP in the SN, since this wouldinvolve unnecessary use of wireless bandwidth. Conversely, when the UEis not in the proximity of either the desired MS or the desired MR, theCP handles the negotiation and association of both the MR and MS, usingfixed communication links instead of wireless links.

Thus, in a wide area networking extension of UPnP, moving the CP into anetwork element, such as the serving node of an IMS session, and placingthe CPP into the handset optimizes usage of the wireless spectrum usage.

This architecture also allows normal telephony to be integrated withUPnP-based media services. As used herein, normal telephony includessupplementary features such as call diversion, three-way calling, andvoicemail.

In an alternative architecture, the CP does not migrate to the corenetwork, but continues to reside in the handset. In this peer-to-peerstyle architecture, there is no core network element, but thepeer-to-peer signaling uses the valuable and limited resources of thewireless spectrum. The network-based architecture, as indicated above,consumes less wireless spectrum.

CPP 1202 has local service logic that decides what MR to pick for aparticular media server. In other words, the CP-MR negotiation istransformed into CPP-MR negotiation (which is local to a UE and hencedoes not use spectrum). Moreover, the CPP policies and logic can beupdated periodically from the network-resident CP at opportune times.

In yet another embodiment, the concept of MVNO-customized logic may beapplied to so-called hybrid networks. In general a hybrid network is acombination of two or more individual networks. Examples of digitalbroadcast networks for joint use are DVB-H (Digital VideoBroadcast—Handheld), and Media FLO (Forward Link Only). In a hybridnetwork, the broadcast network provides a high capacity but one-waytransport for multimedia (video) traffic, while the UMTS (UniversalMobile Telecommunications System) network (or other network) may providelower capacity two-way transport for interactive services. In suchhybrid networks, the UMTS network is used for control and signalingpurposes for the services offered by the broadcast component network. Inthis fashion, the UMTS network supplements the digital broadcast networkby providing a control network or a network for user interactivityfunctions. Conversely, the broadcast network may supplement a UMTS (orother) network by providing certain broadcast functionality.

Since the PA runs in mobile handset environment, the handset has adirect logical service interface to the Internet Wide Area Network (WAN)via the 2G/3G wireless network. From the UPnP device architectureperspective, the PA serves as an Internet Gateway Device (IGD). An IGDis an “edge” interconnect device between a residential Local AreaNetwork (LAN) and the Wide Area Network (WAN), providing connectivity tothe Internet. The IGD typically runs in the local network environment,e.g., on a PC in the WLAN environment.

In the search process described below, the discovery, registration, anduse of an associated device corresponds to the setting up of a newincoming leg of the AVS session. The ME server then determines whetherthere is an advantage to be gained from switching the media renderingfrom the renderer in the handset to a renderer in a discovered device.The CPP can then offer a choice to the user as to whether to switch tothe new renderer, or the switch can be performed automatically.

A UPnP service manager (SM) is provided in the PA to organize theservices discovered, as shown in FIG. 13. The UPnP service managerperforms device/service search and also listens to advertisements beingsent out by new devices. FIG. 13 illustrates exemplary logic for theservice manager. The service manager logic starts (1302) when the PAdetects the presence of a PAN. The service manager consults a directoryof services that are potentially available on the PAN (1304). If the UEis seeking to use a service, and it finds the service present in thedirectory, the service manager joins the PAN (1306) and broadcasts asearch message (1308). When the PA receives responses from the serviceson the PAN, it determines whether the user is authorized to use thedesired service, and whether the service is still available (1310). Ifthe answer is yes, the process for associating the PA with the newservice takes place (1312, 1314, 1316, 1318, and 1320). If the UE isseeking to provide a service in the PAN, and the service is not alreadypresent in the PAN (1304), the service manager joins the network (1322)and broadcasts an advertising message (1324). In response, it mayreceive messages from the devices on the PAN (1326), and then proceed toassociate itself with PAN (1314, 1316, 1318, and 1320).

Two functions enable the discovery process: search module 426 (see FIG.4) running in PA logic 424, and the advertisement module, running in adevice to be added to the network.

Search Module

Search module 426 is a UDP-based function in the PA that broadcastssearch messages whenever the user wants to search for new devices. Itcommunicates with the user interface of the service manager and updatesa list (in the PA logic 424) of discovered devices on the servicemanager when it finds a new device. It determines whether or not thedevice is new by matching its Universally Unique Identifier (UUID)against those of the devices already discovered. Each device has aunique UUID.

Search Module 426 consists of the following procedures:

Discovery: The discovery protocol allows control point proxies, such asthe PA, to search for devices of interest in the network. A search iscarried out by multicasting a search message with a pattern equal to atype or identifier for a device or service. Responses from serviceproviders/devices contain discovery messages that are essentiallyidentical to those advertised by newly connected devices. In otherwords, the responses to the outgoing discovery messages from the PA aresimilar to the messages the service providers/devices are themselvesunicasting as their own advertising messages, as described below. Theformer are unicast while the latter are multicast. Below is a format ofa Search message:

M-SEARCH*HTTP/1.1

HOST: 239.255.255.250:1900

MAN: ssdp: discover

MX: seconds to delay response

ST: search target

Response: In a response, the discovered device sends a message to theM-SEARCH source IP address and port that sent the discovery request tothe multicast channel. This response follows the same pattern as listedfor NOTIFY with “ssdp: alive” (see below in the description of theadvertising module) except that a search target (ST) header is usedinstead of the new target (NT) header. The format is as follows:

HTTP/1.1 200 OK

CACHE-CONTROL: max-age=seconds until advertisement expires

DATE: when response was generated

EXT:

LOCATION: URL for UPnP description for root device

SERVER: OS/version, UPnP/1.0, product/version

ST: search target

USN: advertisement UUI

Description: After the PA has discovered a device, the PA still knowsvery little about the device. In order to learn more about the deviceand its capabilities, or to interact with the device, the PA retrievesthe device's description from the URL provided by the device in thediscovery message. The PA sends the following request header to thediscovered device:

GET path to description HTTP/1.1

HOST: host for description: port for description

ACCEPT-LANGUAGE: language preferred by control point.

By default the ‘Host’ and ‘Accept’ header fields in the request headersare sent, following normal conventions, such as from HTML. Once thesocket is created, where the HostName and RemotePort properties are setto the values specified in the URL, the request header block is thensent to the discovered device, which consists of the command (GET) andthe other header fields defined above. A sample of a device descriptionin the XML format is shown:

<serviceList> <service> <serviceType>Telephony</serviceType><SCPDURL>URL to service description</SCPDURL> <controlURL>URL forcontrol</controlURL> <eventSubURL>URL for eventing</eventSubURL></service> </serviceList>

Advertisement Module

When a device is added to the network, it advertises its services tocontrol points by multicasting discovery messages to a standard addressand port at regular time intervals. Serving as an UPnP control point,the PA listens to this port to detect when new capabilities areavailable on the network. Each advertisement message containsinformation specific to the embedded device or service as well asinformation about its enclosing device. Messages should include theduration until the advertisements expire. If the device becomesunavailable, the device will either explicitly cancel itsadvertisements, or wait for the advertisements to expire on their own.

The advertisement module in the PA listens for advertisement messages.It is also a UDP-based application that listens on port 1900 (as givenin the UPnP specifications). It communicates with the user interface ofthe service manager and updates the list of discovered devices on theservice manager when it finds a new device. It determines whether or notthe device is new by matching its UUID against those of the devicesalready discovered.

The service manager is needed because more than one service may bepresent in the Personal Area Network (PAN) and the manager provides aneasy and intuitive way for the user to manage all the discoveredservices/devices. In addition, the service manager is responsible forcommunicating the updated PAN neighborhood configuration (i.e., context)of the mobile handset to serving node 408. The discovered device andservice will be reported to the serving node 408 in a SIP message whichincludes an SDP extension header. The service manager enables the mobilehandset user to accomplish this.

When a new device is added to the list in the service manager a timer isstarted whose value depends on the cache-expiry value sent by thedevice. Once this timer expires, the device/service is removed from thelist. However, if an advertisement message is received from that devicethe timer is restarted.

The format of the multicast message is as follows: values in italics areplaceholders for actual values.

NOTIFY * HTTP/1.1

HOST: 239.255.255.250:1900

CACHE-CONTROL: max-age=seconds until advertisement expires

LOCATION: URL for UPnP description for root device

NT: search target

NTS: ssdp: alive

SERVER: OS/version, UPnP/1.0, product/version

USN: advertisement UUID

UPnP Device Discovery

The following case illustrates by way of example a session that involvesthe PA client discovering an associated device via UPnP Discoverymechanisms. In this example, the new device to be associated with the PAclient is powered on and starts advertising its service and devicedescriptions. For example, the new device might be a PC with IGDsoftware, whose display will be used as a media renderer.

As depicted by 1401a, 1401b, and 1402 in FIG. 14, when a device is addedto the network, the device is allowed to advertise its presence on thenetwork using Simple Service Discovery Protocol (SSDP). The UPnPdiscovery procedure operates transparently on top of various wireless orwired PANs or Home Area Networks (HANs), such as Bluetooth, Wi-Fi, USB,etc. When a control point such as the PA IMS/SIP mobile client is added,the control point is similarly allowed to generate a multicast searchfor devices. In either case, the message exchange consists of a briefdescription of the device that includes the UPnP device type, the deviceID, and a URL to the full device description. The message formats are asdescribed above.

Next, as depicted by steps 1403-1406 in FIG. 14, the UE obtains moreinformation about a specific device by retrieving the full descriptionfrom the URL with HTTP GET. The full description is composed of a devicedescription and a service description. The device and servicedescriptions are XML documents and are constructed by the device vendorwith the aid of the device and service template schemas. The servicedescription contains details of the hosted API commands, which arecalled actions, along with parameters, which are called arguments.

As shown by 1407 in FIG. 14, once the device and service descriptions ofa particular media device in the PAN/HAN have been retrieved, the PAIMS/SIP mobile client has established an association with that device,completing the UPnP device discovery process.

Associated Device Discovery and Handoff Session Via UPnP

The following case illustrates a session that involves the PA clientdiscovering an associated device via UPnP Discovery mechanisms, and theserving node triggering a handoff procedure from the PA client to theassociated device to initiate a real time streaming protocol (RTSP)streaming session. In this example, an IMS/SIP session has beenestablished between the PA and the Media Server Control AS in theserving node.

As depicted by 1501-1507 in FIG. 15, the discovery and association ofthe new device proceeds as described above. Next, as shown by 1508a,1508b, and 1508c, the PA IMS/SIP mobile client, located in the user'shome network, includes the newly associated device information in theSIP RE-INVITE message it sends to Handoff Control Application Server(AS) module 614 (within serving node 408). In this message, the mobilestation (MS) or UE includes its original SIP user identifier into thefrom-field of the SIP header. It also includes its new IP address intoboth the Contact field of the SIP header, in order to inform thecorresponding host where it wants to receive future SIP messages, andalso into the c (Connection) field of the SDP header that contains adescription of the session, in order to redirect the data traffic flowtowards its new location.

As depicted by 1509 in FIG. 15, the information about the newlydiscovered device is added to the ME framework database entry associatedwith the mobile device. In addition, as depicted by 10 in FIG. 15, thenew device discovery/association event may trigger a handoff controldecision to be executed in the Handoff Control Application Server module614. This decision is driven by policy logic in policy database 902 (seeFIG. 9). The policy logic includes rules that depend on technicalspecifications of the discovered device that determine whether thediscovered device, if associated with the ongoing IMS session, would addvalue to the user. The policy logic may also include business-basedrules that reflect the relationship of the user to the owner/operator ofa discovered device.

As depicted by 1511a, 1511b, and 1511c in FIG. 15, if a handoff event istriggered, the response from the serving node towards the PA mobileclient includes the handoff control information.

As depicted by 1512 and 1513 in FIG. 15, the PA IMS/SIP mobile clientissues a SOAP remote procedure call to the media renderer (i.e., thedevice that renders the media) to initiate a RTSP streaming session.Services (i.e., media renderer) keep state tables updated so thatcontrol points can obtain meaningful values. When state variableschange, events are broadcast over the home IP network to all interestedcontrol points, which may include multiple handsets having PAs and CPPsin a home environment.

As depicted by 1514 and 1515 in FIG. 15, the media renderer initiatesthe RTSP signaling transactions to establish a streaming session withthe media server. As depicted by 1516 in FIG. 15, the PA mobile clientsends a SOAP remote procedure call to the media renderer to PLAY themultimedia stream.

As depicted by 1517 in FIG. 15, the media renderer sends the RTSP Playcommand to the streaming media server to start the media stream. Thisstream is out-of-band transport of the media stream from the mediaserver to the media renderer.

As depicted by 1518a, 1158b, and 1518c in FIG. 15, the user mayoptionally decide to disengage the serving node from controlling themedia server and allow the media control to be handled directly from themedia renderer. In this case, the PA mobile client sends a SIP RE-INVITEmessage towards the media server control application in the serving nodeto disengage.

Associated Device Discovery and Relay Session Via UPnP

The following case illustrates a session that involves the PA clientdiscovering an associated device via UPnP discovery mechanisms, and theserving node triggering a relay procedure to allow RTSP streamingcontent to be relayed from the PA client to the associated device. Inthis case, the media transport takes place over the 2G/3G network to thehandset, and from the handset it is relayed to a discovered associateddevice using a WLAN/PAN.

In this example, the PA acts as a SIP UE and an IMS/SIP session has beenestablished between the PA and the Media Server Control AS in theserving node.

As depicted by 1601 to 1609 in FIG. 16, the steps involving discoveryare as described above in connection with FIG. 15.

As depicted by 1610 in FIG. 16, the new device discovery/associationevent triggers an action to have the PA relay the content to the newlyassociated device.

As depicted by 1611a, 1611b, and 1611c in FIG. 16, the response from theserving node towards the PA client includes the relay controlinformation.

As depicted by 1612 and 1613 in FIG. 16, the PA client issues a SOAPremote procedure call to the associated device, which, in this case, isa media renderer, to establish a UPnP LAN connection.

As depicted by 1614 and 1615 in FIG. 16, the PA client, serving as anUPnP media server device initiates the RTSP signaling transactions toestablish a streaming session.

As depicted by 1616 in FIG. 16, the associated device operating as anUPnP media renderer sends a SOAP remote procedure call to the PA clientto initiate the PLAY action to start the multimedia stream.

As depicted by 1617 in FIG. 16, the PA client sends the RTSP PLAYcommand to the multimedia server to start the media stream.

As depicted by 1618a, 1618b, and 1618c in FIG. 16, the user mayoptionally decide to disengage the serving node from controlling themedia server and allow the media control to be handled directly from themedia renderer. In this case, the PA client sends a SIP RE-INVITEmessage towards the media server control application in the ASN todisengage.

Dynamic Media Resource Control

This case illustrates a session that involves the PA client discoveringan associated device via UPnP Discovery mechanisms, and the serving nodetriggering a handoff procedure to allow RTSP streaming content to berelayed from the PA client to the associated device. In addition, theserving node also determines that the content to be delivered to thenewly associated device via the PA (relay) requires trans-coding anddirects a Media Resource Control Function (MRCF) to establish thetrans-coding session. Transcoding can involve, for example, changing thespatial or and/or color resolution of a video stream to take advantageof higher resolution viewing capability on a discovered device.

As described in detail below, in this case the MRCF responds to theINVITE request with a 200 OK message indicating the selected media inthe SDP. The MRCF will also reserve the requested local resources atthat time and return the appropriate resource identifiers in the 200response.

In one embodiment, the Media Server Control AS controls a trans-codingsession and is aware of MRCF capabilities. The MRCF accepts INVITErequests sent from the AS, via the S-CSCF, to dynamically set up thetrans-coding configuration. The INVITE sent to the MRCF containssufficient information to support the RTSP session that requirestrans-coding. The MRCF always grants the requests from the AS, unless ithas reached its resource limits.

It is assumed that the PA is acting as a SIP UE and that an IMS/SIPsession has been established between the PA and the Media Server ControlAS in the serving node.

FIG. 17 illustrates the steps involved in setting up the MRCF to providetrans-coding for a mobile originated session, where the MRCF isreceiving directions from the AS operating as a back-to-back user agent(B2BUA). In other words, the AS can initiate calls/sessions itself. InFIG. 17, the number enclosed within the square brackets, i.e., the “[x]”notation, is an indicator of a particular SIP dialog.

As depicted by 1701 in FIG. 17, the media renderer device is discoveredby the PA, as described in detail above.

After the Handoff Control AS has triggered a PA relay action, an RTSPstreaming session is initiated from the mobile handset (1702-1719). TheMedia Server Control AS is aware of the different codec requirementsbetween the PA client in the mobile handset and the newly associateddevice by retrieving the ME framework parameters reported by the PA whenthe newly terminal device is discovered and associated.

The Media Server Control AS serves as a B2BUA and interacts with theoriginating UE as usual to establish the dialog. The Media ServerControl AS interacts with the MRCF using a third party control model, asdefined in IETF RFC 3264.

The Media Server Control AS requests trans-coding facilities from theMRCF (1720). The request includes the appropriate trans-codingrequirements and resources to be established. A separate dialog isestablished from the Media Server Control AS to the MRCF for the PAclient.

The offer/answer model is used for SDP negotiation between the MediaServer Control AS/S-CSCF and the MRCF.

The MRCF should always grant the requests from the AS (unless there is aresource problem). The MRCF responds to the INVITE request (1721, 1722)with a 200 response indicating the selected codec in the SDP (1723,1724). The MRCF will also reserve the requested local resources at thattime.

The media from the PA UE is connected at the trans-coding resource atthe Media Resource Function Processor (MRFP).

The selected codec is included by the Media Server Control AS in the 183response to the UE. (not on Fig.)

The receipt of the ACK at the MRCF (1725, 1726) triggers the start ofthe trans-coding session (1727-1730).

It will be further appreciated that the scope of the present inventionis not limited to the above-described embodiments but rather is definedby the appended claims, and that these claims will encompassmodifications and improvements to what has been described.

What is claimed:
 1. A method of controlling and delivering media contentfrom a media server (MS) to a media renderer (MR) utilizing a wide areanetwork for control, comprising the acts of: provisioning a serving nodein the wide area network with control point (CP) logic that includeslogic to negotiate media content delivery with at least one of the MSand the MR, wherein the CP logic, MS, and MR resides outside of a userendpoint (UE) and the CP logic resides in the signaling domain andserves as a first proxy; provisioning the UE of the wide area networkwith control point proxy (CPP) logic that includes (i) logic tonegotiate media content delivery with at least one of the MS and the MR,(ii) logic to cooperate with CP logic to negotiate media contentdelivery between the MS and the MR, and (iii) video cassette recorder(VCR) controls to control a presentation of content provided by the MSand rendered by the MR, wherein the CPP logic resides in the UE andserves as a second proxy; in response to a media content deliveryrequest, determining a network context of the UE and a networkconnectivity of the MS and MR; invoking the CPP logic and the CP logicto cooperatively negotiate media content delivery between the MS and theMR if one of the MS and MR are not in communication with the UE via alocal wireless network; and once media content delivery is negotiated,controlling a presentation of delivery via the VCR controls on the UE.2. The method of claim 1, wherein the CPP logic is invoked to negotiatemedia content delivery between the MS and the MR if the MS and MR areboth in communication with the UE via a local wireless network.
 3. Themethod of claim 2, wherein the local wireless network includes at leastone a Wi-Fi network, a WiMax network, and a Bluetooth network.
 4. Themethod of claim 1, wherein the CP logic is invoked to negotiate mediacontent delivery between the MS and the MR if neither the MS nor the MRare in communication with the UE via the local wireless network.
 5. Themethod of claim 1, wherein the UE is implemented on a handset.
 6. Themethod of claim 5, wherein the handset comprises a display, and the MRuses the display.
 7. The method of claim 1, wherein at least one of theMS and the MR is on a 3G network and in communication with the servingnode.
 8. The method of claim 1, wherein the UE is in communication withthe MR via a local wireless network.
 9. The method of claim 1, whereinthe UE is in communication with both the MS and the MR via a localwireless network.
 10. The method of claim 1, wherein the CP logicnegotiates service delivery from the MS, the MS being on a 3G network,the CPP logic in the UE negotiates delivery on the MR, and the CP logicand CPP logic execute synchronization logic to complete the negotiationof delivery from the MS to the MR.
 11. The method of claim 1, whereinthe UE communicates its network context to the serving node and theserving node informs the UE of the serving node's capabilities fornegotiation with devices local to the UE.
 12. The method of claim 1,wherein the CP logic is configured to serve multiple unrelated devicesrunning CPP logic.
 13. The method of claim 12, wherein CPP logic isimplemented in a UE resident in a handset and in a remote controldevice.
 14. The method of claim 13, wherein a user uses the CPP logic inthe handset when the user is remote from the MR and uses the CPP logicin the remote control device when the user is local to the MR.
 15. Themethod of claim 1, wherein, if one of the MS and MR are remote from theUE, the CPP logic provides information about invoked VCR controls to theCP logic on the serving node to allow the CP logic to control the remoteMS or MR.
 16. The method of claim 1, wherein the MS and the MR are in adigital home network.
 17. The method of claim 1, wherein the UEdetermines that it is local to at least one of the MS and the MR byusing Universal Plug and Play (UPnP) protocols.
 18. The method of claim1, wherein at least one of the MS and MR announce their presence to theUE using at least one of UPnP protocols, Jini technology, RFID, andBluetooth.
 19. The method of claim 1, wherein the negotiation of mediacontent delivery includes the negotiation of out-of-band media transferbetween the MS and the MR.
 20. A method of controlling and deliveringmedia content from a media server (MS) to a media renderer (MR)utilizing a wide area network for control, where a user endpoint (UE) isprovisioned with control point proxy (CPP) logic that includes (i) logicto negotiate media content delivery with at least one of the MS and theMR, (ii) logic to cooperate with network control point (CP) logic tonegotiate media content delivery between the MS and the MR, and (iii)video play controls to control a presentation of content provided by theMS and rendered by the MR, wherein the CPP logic resides in the UE andserves as a first proxy, comprising the acts of: provisioning a servingnode in the wide area network with control point (CP) logic thatincludes logic to negotiate media content delivery with at least one ofthe MS and the MR, wherein the CP logic, MS, and MR resides outside of auser endpoint (UE) and the CP logic resides in the signaling domain andserves as a second proxy; in response to a media content deliveryrequest, the wide area network determining a network context of the UEand a network connectivity of the MS and MR; invoking the CPP logic andthe CP logic to cooperatively negotiate media content delivery betweenthe MS and the MR if one of the MS and MR are not in communication withthe UE via a local wireless network; and once media content delivery isnegotiated, receiving video play controls from the UE.
 21. The method ofclaim 20, wherein the CPP logic is invoked to negotiate media contentdelivery between the MS and the MR if the MS and MR are both incommunication with the UE via a local wireless network.
 22. The methodof claim 21, wherein the local wireless network includes at least one awi-fi network, a wimax network, and a Bluetooth network.
 23. The methodof claim 20, wherein the CP logic is invoked to negotiate media contentdelivery between the MS and the MR if neither the MS nor the MR are incommunication with the UE via the local wireless network.
 24. The methodof claim 20, wherein the MS and the MR are in a digital home network.25. The method of claim 20, wherein at least one of the MS and MRannounce their presence to the UE using at least one of UPnP protocols,Jini technology, RFID, and Bluetooth.
 26. The method of claim 20,wherein the negotiation of media content delivery includes thenegotiation of out-of-band media transfer between the MS and the MR. 27.A user endpoint (UE) for communication with a serving node in a network,the serving node having control point (CP) logic that includes logic tonegotiate media content delivery with at least one of a media server(MS) and a media renderer (MR), wherein the CP logic, MS, and MR resideoutside of the UE and the CP logic resides in the signaling domain andserves as a first proxy, the UE comprising: a transceiver to communicatewith the network, the MS and the MR; and a computer readable mediumcomprising: personal agent logic configured to determine a networkcontext of the UE; and control point proxy logic configured to:negotiate media content delivery with at least one of the MS and the MR,cooperate with the serving node CP logic to negotiate media contentdelivery between the MS and the MR, and once media content delivery isnegotiated, control a presentation of media content provided by the MSand rendered by the MR with video play controls.
 28. The UE of claim 27comprising a display, and the MR uses the display.
 29. The UE of claim27, wherein the UE is in communication with one or more of the MS andthe MR via a local wireless network.
 30. The UE of claim 29, wherein thelocal wireless network includes at least one a wi-fi network, a wimaxnetwork, and a Bluetooth network.
 31. The UE of claim 27, wherein the UEdetermines that it is local to at least one of the MS and the MR byusing universal plug and play (UPnP) protocols.
 32. The UE of claim 27,wherein the UE communicates its network context to the serving node andreceives from the serving node the serving node's capabilities fornegotiation with devices local to the UE.
 33. The UE of claim 27,wherein the UE is implemented on a handset.